package pcron

import (
	"fmt"

	"gitee.com/linxing_3/sr-core/plugins/log"
	"github.com/robfig/cron/v3"
)

var _ cron.Logger = (*CronLog)(nil)

func DefaultLog() cron.Logger {
	return &CronLog{
		l: log.GetDefault(),
	}
}
func Logger(l log.Logger) cron.Logger {
	return &CronLog{
		l: l,
	}
}

type CronLog struct {
	l log.Logger
}

// Error implements cron.Logger.
func (c *CronLog) Error(err error, msg string, keysAndValues ...interface{}) {
	c.l.Error(fmt.Errorf("%w [%s]", err, msg).Error(), keysAndValues...)
}

// Info implements cron.Logger.
func (c *CronLog) Info(msg string, keysAndValues ...interface{}) {
	c.l.Debug(msg, keysAndValues...)
}
